package compra;
// Generated 13/09/2011 19:31:06 by Hibernate Tools 3.2.1.GA


import fornecedor.Fornecedor;
import funcionario.Funcionario;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import solicitacaoCompra.SolicitacaoCompra;

/**
 * Compra generated by hbm2java
 */
@Entity
@Table(name="compra"
    ,schema="public"
)
public class Compra  implements java.io.Serializable {

     private int idCompra;
     private SolicitacaoCompra objSolicitacaoCompra;
     private Funcionario funcionario;
     private Fornecedor fornecedor;
     private Double valorCompra;
     private Date dataCompra;
     private Integer qtdProduto;
     private boolean statusCompra;
     private boolean flagRecebido = false;

    public Compra() {
    }       

	
    public Compra(int idCompra) {
        this.idCompra = idCompra;
    }
    public Compra(int idCompra, SolicitacaoCompra objSolicitacaoCompra, Funcionario funcionario, Fornecedor fornecedor, Double valorCompra, Date dataCompra, Integer qtdProduto, boolean statusCompra) {
       this.idCompra = idCompra;
       this.objSolicitacaoCompra = objSolicitacaoCompra;
       this.funcionario = funcionario;
       this.fornecedor = fornecedor;
       this.valorCompra = valorCompra;
       this.dataCompra = dataCompra;
       this.qtdProduto = qtdProduto;
       this.statusCompra = statusCompra;
    }
   
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name="id_compra", unique=true, nullable=false)
    public int getIdCompra() {
        return this.idCompra;
    }
    
    public void setIdCompra(int idCompra) {
        this.idCompra = idCompra;
    }
    @OneToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="id_solicitacao_compra")
    public SolicitacaoCompra getSolicitacaoCompra() {
        return this.objSolicitacaoCompra;
    }
    
    public void setSolicitacaoCompra(SolicitacaoCompra objSolicitacaoCompra) {
        this.objSolicitacaoCompra = objSolicitacaoCompra;
    }
    @ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="id_funcionario")
    public Funcionario getFuncionario() {
        return this.funcionario;
    }
    
    public void setFuncionario(Funcionario funcionario) {
        this.funcionario = funcionario;
    }
    @ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="id_fornecedor")
    public Fornecedor getFornecedor() {
        return this.fornecedor;
    }
    
    public void setFornecedor(Fornecedor fornecedor) {
        this.fornecedor = fornecedor;
    }
    
    @Column(name="valor_compra", precision=17, scale=17)
    public Double getValorCompra() {
        return this.valorCompra;
    }
    
    public void setValorCompra(Double valorCompra) {
        this.valorCompra = valorCompra;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="data_compra", length=13)
    public Date getDataCompra() {
        return this.dataCompra;
    }
    
    public void setDataCompra(Date dataCompra) {
        this.dataCompra = dataCompra;
    }
    
    @Column(name="qtd_produto")
    public Integer getQtdProduto() {
        return this.qtdProduto;
    }
    
    public void setQtdProduto(Integer qtdProduto) {
        this.qtdProduto = qtdProduto;
    }
   
    @Column(name="status_compra")
    public boolean getStatusCompra() {
        return statusCompra;
    }

    public void setStatusCompra(boolean statusCompra) {
        this.statusCompra = statusCompra;
    }
    
    @Column(name="flag_recebido")
    public boolean getFlagRecebido() {
        return this.flagRecebido;
    }

    public void setFlagRecebido(boolean flagRecebido) {
        this.flagRecebido = flagRecebido;
    }

}